package com.east.service.system;

import java.util.List;

import com.east.bean.Menu;
import com.east.bean.Privilege;
import com.east.bean.Role;
import com.east.utils.Pagenation;
import com.github.pagehelper.Page;

public interface MenuService {
	/**
	 * 根据用户获取栏目
	 * 树状结构
	 * @param id
	 * @return
	 */
	List<Menu> findByUserId(Integer id);
	/**
	 * 查询所有角色
	 * @return
	 */
	Page<Role> findByRole(Pagenation pagenation);
	/**
	 * 根据角色查找权限
	 * @param roleId
	 * @return
	 */
	List<Privilege> findByRolePriv(Integer roleId);
	/**
	 * 查找所有权限
	 * @return
	 */
	List<Privilege> findByPrivAll();
	/**
	 * 查找所有权限
	 * 去除顶级栏目
	 * 给添加角色使用的
	 * @return
	 */
	List<Privilege> findByprivRoleAll();
	/**
	 * 权限列表生成栏目
	 * @return
	 */
	List<Privilege> findPrivMenu();
	
	/**
	 * 权限 栏目 添加
	 * @param privilege
	 * @return
	 */
	int savePrivilege(Privilege privilege);
	/**
	 * 权限 栏目 修改
	 * @param privilege
	 * @return
	 */
	int updatePrivilege(Privilege privilege);
	/**
	 * 权限 栏目 删除
	 * @param privilege
	 * @return
	 */
	int delPrivilege(Privilege privilege);
	/**
	 * 权限 栏目 单查
	 * @param privilege
	 * @return
	 */
	Privilege findByPrivilegeId(Privilege privilege);
	/**
	 * 添加角色
	 * @param pIds
	 * @param name
	 * @param remarks
	 * @return
	 */
	int saveRole(String[] pIds,String name,String remarks);
	/**
	 * 查询角色权限
	 * @param role
	 * @return
	 */
	Role findByRolePrivilege(Role role);
	/**
	 * 修改角色
	 * @param pIds
	 * @param name
	 * @param remarks
	 * @param id
	 * @return
	 */
	int updateRole(String[] pIds,String name,String remarks,Integer id); 
	int delRole(Integer id);
}
